import axios from 'axios'

// 配置请求的根域名
axios.defaults.baseURL = 'http://www.lovegf.cn:8888/api/private/v1/'

// 配置全局的请求头
// axios.defaults.headers.common['Authorization'] = token

// 添加请求拦截器
// 请求拦截器:是在当前项目中所有网络请求即将发送出去之前会执行的一个函数,在这个函数中可以拿到发送请求携带的任何信息
// 包含的有请求参数、请求方法、请求头、请求路径 
// 在这个请求拦截函数中必须return config
axios.interceptors.request.use(function (config) {
    // 在发送请求之前做些什么
    // console.log(config)
    const token = localStorage.getItem('token')
    console.log(token)
    if(token){
      config.headers["Authorization"] = token
    }
    console.log(config,'getmenus')
    return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});


// 响应拦截:是当前项目中所有网络请求回来之前会执行的一个函数，这个函数中可以获取到所有的响应信息,
// 包含的有后端响应给前端的数据、响应头信息等
axios.interceptors.response.use(function (response) {

  // 如果状态码不是200做统一提示
  if(response.data.meta.status !==200){
    // 使用模态框提示用户请求失败
    console.log('error')
  }else{
    return response.data.data;
  }
}, function (error) {
  // 对响应错误做点什么
  return Promise.reject(error);
});


// 发送登录请求
export function login(params){
  return axios.post('login',params)}

// 获取用户列表
// export function getUsers(params){
//   const token = localStorage.getItem('token')
//   return axios.get(`users?pagenum=${params.pagenum}&pagesize=${params.pagesize}`,{
//     headers:{
//       "Authorization": token
//     }
//   })
// }

// export function getUsers(params){
//   return axios.get(`users?pagenum=${params.pagenum}&pagesize=${params.pagesize}`)
// }

// axios get请求除了可以使用查询字符串拼接传参也可以使用第二个配置对象进行传参
// 配置对象里面有一个固定属性叫params,这个属性中传入get请求的参数
export function getUsers(params){
  return axios.get('users',{ params })
}

export function getMenus(){
  return axios.get('menus')
}